<?php
class Proveedor extends CI_Controller {
	function __construct() {
		parent::__construct ();
		$this->load->model ( 'proveedor_model', '', true );
		$this->load->model ( 'usuario_model', '', true );
		$this->load->model ( 'responsable_model', '', true );
		$this->load->model ( 'persona_juridica_model', '', true );
		$this->load->model ( 'persona_natural_model', '', true );
		$this->load->model ( 'departamento_model', '', true );
		$this->load->model ( 'provincia_model', '', true );
		$this->load->model ( 'distrito_model', '', true );
		$this->load->model ( 'ubigeo_model', '', true );
		$this->load->model ( 'solusuario_model', '', true );
		$this->load->model ( 'perfil_model', '', true );
		$this->load->model ( 'usuario_perfil_model', '', true );
		$this->load->model ( 'proveedor_marca_model', '', true );
		$this->load->model ( 'maestra_model', '', true );
		$this->load->model ( 'persona_model', '', true );
		$this->load->model ( 'marca_model', '', true );
		$this->load->library ( 'form_validation' );
		$this->load->helper ( 'form' );
		$this->load->helper ( 'util' );
	}
	
	/**
	 *
	 * @param type $a        	
	 */
	public function index2($a, $b = 0) {
		$data ['page_title'] = "Registrar Proveedor";
		$data ['mensaje'] = "Ingresa un Proveedor nuevo";
		
		$departamento = $this->departamento_model->getDepartamento ();
		$provincia = $this->provincia_model->getProvincia ();
		$distrito = $this->distrito_model->getDistrito ();
		$data ['departamento'] = $departamento;
		$data ['provincia'] = $provincia;
		$data ['distrito'] = $distrito;
		
		$idSolUsuario = $b;
		$dataSolicitud ['id_solicitud_usuario'] = $idSolUsuario;
		$objSolUsuario = $this->solusuario_model->getDatosSolicitud ( $dataSolicitud );
		
		$data ['idSolUsuario'] = $objSolUsuario [0]->id_solicitud_usuario;
		$data ['id_ubigeo'] = $objSolUsuario [0]->id_ubigeo;
		$data ['estado_solicitud'] = $objSolUsuario [0]->estado_solicitud;
		$data ['soloLectura'] = '';
		
		$idUsuario = $this->usuario_model->getUsuarioSol ( $data );
		if ($idUsuario) {
			$data ['id_estado_usuario'] = 1;
			$data ['idUsuario'] = $idUsuario ['id_usuario'];
		} else {
			$data ['id_estado_usuario'] = $data ['estado_solicitud'];
			$data ['idUsuario'] = '';
		}
		
		/*
		 * OBTENIENDO EL id_departamento, id_provincia y id_distrito
		 * SEGUN EL id_ubigeo del ultimo usuario registrado
		 */
		$ultUbigeo = $this->solusuario_model->getDeptId ( $data );
		$data ['idDept'] = $ultUbigeo ['cod_dept']; // el codigo del departamento
		$data ['idProv'] = $ultUbigeo ['cod_prov']; // el codigo de la provincia
		$data ['idDist'] = $ultUbigeo ['cod_dist']; // el codigo del distrito
		                                            // obteniendo el nombre del departamento seleccionado
		$dept = $this->departamento_model->getDepartamentoPorId ( $data );
		$data ['dept'] = $dept;
		
		// obteniendo el nombre de la provincia seleccionada
		$prov = $this->provincia_model->getProvinciaPorId ( $data );
		$data ['prov'] = $prov;
		
		// obteniendo el nombre del distrito seleccionado
		$dist = $this->distrito_model->getDistritoPorId ( $data );
		$data ['dist'] = $dist;
		
		$proveedor = $this->solusuario_model->getDatosId ( $data );
		$data ['proveedor'] = $proveedor;
		
		switch ($a) {
			case 1 :
				$data ['mensaje'] = "La operación se realizó satisfactoriamente.";
				$data ['class'] = "alert_success";
				break;
			case 2 :
				$data ['mensaje'] = "La operación se realizó satisfactoriamente.";
				$data ['class'] = "alert_success";
				break;
			case 3 :
				$data ['mensaje'] = "La operación se realizó satisfactoriamente.";
				$data ['class'] = "alert_success";
				break;
			case 4 :
				$data ['mensaje'] = "El Proveedor ha sido Aprobado";
				$data ['class'] = "alert_success";
				break;
		}
		$session_data = $this->session->userdata ( 'logged_in' );
		if ($session_data ['tipo_usuario'] == INT_ADMINISTRADOR) {
			$this->load->view ( 'proveedor_view/proveedor_new', $data );
		} else {
			redirect ( 'principal', 'refresh' );
		}
	}
	
	/**
	 * Metodo que permite ver el formulario de terminos y condiciones
	 * @author Leidy Uribe Marcos
	 */
	function terminos_condiciones() {
		$data ['page_title'] = 'Terminos y Condiciones de Uso y Privacidad';
		$data ['mensaje'] = 'Sírvase leer atentamente el siguiente documento';
		$session_data = $this->session->userdata ( 'logged_in' );
		$this->load->view ( 'terminos_condiciones/terminos_condiciones', $data );
	}
	
	/**
	 * Metodo que muestra el formulario para registrar un nuevo proveedor
	 *
	 * @author Fernando Esteban Valerio
	 */
	public function nuevo() {
		$data ['page_title'] = "Registrar Proveedor";
		$data ['mensaje'] = "Ingresa un proveedor nuevo";
		$arrDepartamento = $this->departamento_model->getDepartamento ();
		$arrProvincia = $this->provincia_model->getProvincia ();
		$arrDistrito = $this->distrito_model->getDistrito ();
		$data ['departamento'] = $arrDepartamento;
		$data ['provincia'] = $arrProvincia;
		$data ['distrito'] = $arrDistrito;
		$data ['idSolUsuario'] = '';
		$data ['codigo'] = '';
		$data ['lectura'] = '';
		$this->load->view ( 'proveedor_view/solicitud_proveedor_new', $data );
	}
	public function editar() {
		$data ['page_title'] = "Modificar Proveedor";
		$data ['mensaje'] = "Puede modificar datos del Proveedor";
		$data ['codigo'] = '';
		$data ['lectura'] = '';
		
		$dataSolicitud ['id_solicitud_usuario'] = filter_input ( INPUT_GET, 'id' );
		$objProveedor = $this->solusuario_model->getDatosSolicitud ( $dataSolicitud );
		
		$data ['idSolUsuario'] = $objProveedor [0]->id_solicitud_usuario;
		$data ['id_ubigeo'] = $objProveedor [0]->id_ubigeo;
		
		$arrDepartamento = $this->departamento_model->getDepartamento ();
		$arrProvincia = $this->provincia_model->getProvincia ();
		$arrDistrito = $this->distrito_model->getDistrito ();
		$data ['departamento'] = $arrDepartamento;
		$data ['provincia'] = $arrProvincia;
		$data ['distrito'] = $arrDistrito;
		
		$dataUbigeo ['id_ubigeo'] = $objProveedor [0]->id_ubigeo;
		$objUbigeo = $this->solusuario_model->getDeptId ( $dataUbigeo );
		$data ['idDept'] = $objUbigeo ['cod_dept'];
		$data ['idProv'] = $objUbigeo ['cod_prov'];
		$data ['idDist'] = $objUbigeo ['cod_dist'];
		
		// Obtener el nombre del departamento seleccionado
		$objDepartamento = $this->departamento_model->getDepartamentoPorId ( $data );
		$data ['dept'] = $objDepartamento;
		
		// Obtener el nombre de la provincia seleccionada
		$objProvincia = $this->provincia_model->getProvinciaPorId ( $data );
		$data ['prov'] = $objProvincia;
		
		// Obtener el nombre del distrito seleccionado
		$objDistrito = $this->distrito_model->getDistritoPorId ( $data );
		$data ['dist'] = $objDistrito;
		$data ['objProveedor'] = $objProveedor;
		
		// Verificar que existe usuario asociado a la solicitud
		$dataSolicitud ['idSolUsuario'] = filter_input ( INPUT_GET, 'id' );
		$objUsuario = $this->usuario_model->getUsuarioSol ( $data );
		if (count ( $objUsuario ) > 0) {
			$objProveedor [0]->username = $objUsuario ['username'];
			$objProveedor [0]->password = $objUsuario ['password'];
			
			$objPersona = $this->persona_model->getIdPersona ( $objUsuario ['id_persona'] );
			$objProveedor [0]->telefono = $objPersona [0]->telefono;
			$objProveedor [0]->direccion = $objPersona [0]->direccion;
			$objProveedor [0]->correo = $objPersona [0]->correo;
			
			$objPersonaJuridica = $this->persona_juridica_model->getPersonaJuridica ( $objUsuario ['id_persona'] );
			$objProveedor [0]->ruc = $objPersonaJuridica [0]->ruc;
			$objProveedor [0]->razon_social = $objPersonaJuridica [0]->razon_social;
			$objProveedor [0]->estado_solicitud = $objUsuario ['id_estado'];
			
			$data ['objProveedor'] = $objProveedor;
		}
		if ($objProveedor [0]->estado_solicitud == INT_ESTADO_PARAM_ACTIVO || $objProveedor [0]->estado_solicitud == INT_ESTADO_ACTIVO) {
			$dataUsuario ['idSolUsuario'] = filter_input ( INPUT_GET, 'id' );
			$objUsuario = $this->usuario_model->getUsuarioSol ( $dataUsuario );
			$data ['codigo'] = $objUsuario ['id_usuario'];
			$this->load->view ( 'proveedor_view/solicitud_proveedor_new', $data );
		} else {
			$dataUsuario ['idSolUsuario'] = filter_input ( INPUT_GET, 'id' );
			$objUsuario = $this->usuario_model->getUsuarioSol ( $dataUsuario );
			if (count ( $objUsuario ) > 0) {
				$data ['lectura'] = 'disabled="disabled"';
			}
			$this->load->view ( 'proveedor_view/solicitud_proveedor_new', $data );
		}
	}
	
	/**
	 * Metodo que muestra los datos de la solicitud de un proveedor.
	 *
	 * @author Fernando Esteban Valerio
	 * @param int $id
	 *        	Id solicitud de proveedor
	 */
	public function solicitud($id) {
		$data ['page_title'] = "Registrar Proveedor";
		$data ['mensaje'] = "Ingresa un Proveedor nuevo";
		$data ['codigo'] = '';
		$data ['lectura'] = '';
		
		$dataSolicitud ['id_solicitud_usuario'] = $id;
		$objProveedor = $this->solusuario_model->getDatosSolicitud ( $dataSolicitud );
		
		$data ['idSolUsuario'] = $objProveedor [0]->id_solicitud_usuario;
		$data ['id_ubigeo'] = $objProveedor [0]->id_ubigeo;
		
		$arrDepartamento = $this->departamento_model->getDepartamento ();
		$arrProvincia = $this->provincia_model->getProvincia ();
		$arrDistrito = $this->distrito_model->getDistrito ();
		$data ['departamento'] = $arrDepartamento;
		$data ['provincia'] = $arrProvincia;
		$data ['distrito'] = $arrDistrito;
		
		$dataUbigeo ['id_ubigeo'] = $objProveedor [0]->id_ubigeo;
		$objUbigeo = $this->solusuario_model->getDeptId ( $dataUbigeo );
		$data ['idDept'] = $objUbigeo ['cod_dept'];
		$data ['idProv'] = $objUbigeo ['cod_prov'];
		$data ['idDist'] = $objUbigeo ['cod_dist'];
		
		// Obtener el nombre del departamento seleccionado
		$objDepartamento = $this->departamento_model->getDepartamentoPorId ( $data );
		$data ['dept'] = $objDepartamento;
		
		// Obtener el nombre de la provincia seleccionada
		$objProvincia = $this->provincia_model->getProvinciaPorId ( $data );
		$data ['prov'] = $objProvincia;
		
		// Obtener el nombre del distrito seleccionado
		$objDistrito = $this->distrito_model->getDistritoPorId ( $data );
		$data ['dist'] = $objDistrito;
		
		$data ['mensaje'] = "La operación se realizó satisfactoriamente";
		$data ['class'] = "alert_success";
		$data ['objProveedor'] = $objProveedor;
		
		// Verificar que existe usuario asociado a la solicitud
		$dataSolicitud ['idSolUsuario'] = $id;
		$objUsuario = $this->usuario_model->getUsuarioSol ( $data );
		if (count ( $objUsuario ) > 0) {
			$objProveedor [0]->username = $objUsuario ['username'];
			$objProveedor [0]->password = $objUsuario ['password'];
			
			$objPersona = $this->persona_model->getIdPersona ( $objUsuario ['id_persona'] );
			$objProveedor [0]->telefono = $objPersona [0]->telefono;
			$objProveedor [0]->direccion = $objPersona [0]->direccion;
			$objProveedor [0]->correo = $objPersona [0]->correo;
			
			$objPersonaJuridica = $this->persona_juridica_model->getPersonaJuridica ( $objUsuario ['id_persona'] );
			$objProveedor [0]->ruc = $objPersonaJuridica [0]->ruc;
			$objProveedor [0]->razon_social = $objPersonaJuridica [0]->razon_social;
			
			$data ['objProveedor'] = $objProveedor;
		}
		if ($objProveedor [0]->estado_solicitud == INT_ESTADO_PARAM_ACTIVO) {
			$dataUsuario ['idSolUsuario'] = $id;
			$objUsuario = $this->usuario_model->getUsuarioSol ( $dataUsuario );
			$data ['codigo'] = $objUsuario ['id_usuario'];
			$this->load->view ( 'proveedor_view/solicitud_proveedor_new', $data );
		} else {
			$dataUsuario ['idSolUsuario'] = $id;
			$objUsuario = $this->usuario_model->getUsuarioSol ( $dataUsuario );
			if (count ( $objUsuario ) > 0) {
				$data ['lectura'] = 'disabled="disabled"';
			}
			$this->load->view ( 'proveedor_view/solicitud_proveedor_new', $data );
		}
	}
	
	/**
	 * Metodo que registra los datos de la solicitud de un proveedor.
	 *
	 * @author Fernando Esteban Valerio
	 */
	public function regSolicitud() {
		$this->form_validation->set_rules ( 'txtRuc', 'Numero de RUC', 'trim|is_unique[solicitud_usuario.ruc]', 'trim|is_unique[persona_juridica.ruc]' );
		$this->form_validation->set_rules ( 'txtUsuario', 'Nombre del usuario', 'trim|is_unique[solicitud_usuario.username]', 'trim|is_unique[usuario.username]' );
		$this->form_validation->set_rules ( 'txtCorreo', 'Correo electronico', 'trim|is_unique[solicitud_usuario.correo]', 'trim|is_unique[persona.correo]' );
		$this->form_validation->set_message ( 'is_unique', 'El proveedor ya se encuentra registrado' );
		
		if ($this->form_validation->run () == FALSE) {
			$data ['page_title'] = "Registrar Proveedor";
			$data ['mensaje'] = "Ingresa un Proveedor Nuevo";
			$arrDepartamento = $this->departamento_model->getDepartamento ();
			$data ['departamento'] = $arrDepartamento;
			$data ['mensaje'] = 'El proveedor ya se encuentra registrado';
			$data ['class'] = "alert_error";
			$data ['idSolUsuario'] = '';
			$data ['lectura'] = '';
			
			$this->load->view ( 'proveedor_view/solicitud_proveedor_new', $data );
		} else {
			// Obtener el id de ubigeo
			$dataUbigeo ['departamento'] = filter_input ( INPUT_POST, 'cbxDepartamento' );
			$dataUbigeo ['provincia'] = filter_input ( INPUT_POST, 'cbxProvincia' );
			$dataUbigeo ['distrito'] = filter_input ( INPUT_POST, 'cbxDistrito' );
			$ubigeo = $this->ubigeo_model->getUbigeo ( $dataUbigeo );
			
			// Datos del proveedor
			$data ['usuario'] = filter_input ( INPUT_POST, 'txtUsuario' );
			$data ['password'] = filter_input ( INPUT_POST, 'txtPassword' );
			$data ['ruc'] = filter_input ( INPUT_POST, 'txtRuc' );
			$data ['razon'] = filter_input ( INPUT_POST, 'txtRazon' );
			$data ['telefono'] = filter_input ( INPUT_POST, 'txtTelefono' );
			$data ['direccion'] = filter_input ( INPUT_POST, 'txtDireccion' );
			$data ['correo'] = filter_input ( INPUT_POST, 'txtCorreo' );
			$data ['ubigeo'] = $ubigeo ['id_ubigeo'];
			$data ['estado_solicitud'] = 0;
			
			// Obtener id del usuario logeado
			$session_data = $this->session->userdata ( 'logged_in' );
			$data ['usuario_registro'] = $session_data ['id'];
			$data ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
			
			// Insertar en solicitud usuario
			$this->solusuario_model->insert_proveedor ( $data );			
			$idSolicitudUsuario = $this->solusuario_model->getLastInserted ();
			echo "<script language='javascript'>alert('SOLICITUD DE PROVEEDOR REGISTRADA')</script>";
			$this->registrarResponsable ( $idSolicitudUsuario );
		}
	}
			
	/**
	 * Metodo que activa o desactiva una solicitud.
	 *
	 * @author Fernando Esteban Valerio
	 */
	public function activar() {
		if (isset ( $_POST ['marcas'] )) {
			$data ['page_title'] = "MARCAS A ASIGNAR";
			$data ['mensaje'] = "Puede asignar marcas al proveedor";			
			$data ['id_usuario'] = $_POST ['cod_proveedor'];
			$proveedor_usuario = $this->usuario_model->getUsername ( $data );
			$data['idSolUsuario'] = $proveedor_usuario['id_solicitud_usuario'];
			$proveedor = $this->solusuario_model->getDatosId($data);
			foreach ($proveedor as $p){
				$data ['nom_proveedor'] = $p->username;
			}
			// $data ['marcas'] = $this->marca_model->getListMarca ();
			$this->load->view ( 'proveedor_view/marcas_asignar', $data );
		} elseif (isset($_POST['asignar'])) {
			$data ['page_title'] = "Asignar Perfil";
			$data ['id_usuario'] = $_POST ['cod_proveedor'];
			$usuario = $this->usuario_model->getUsername ( $data );
			$data ['id'] = $usuario ['username'];
			$this->load->view ( 'perfil_view/perfil_asignar', $data );
		} else {
			
			// Inicializar la transaccion
			$this->db->trans_begin ();
			
			$session_data = $this->session->userdata ( 'logged_in' );
			$idSolicitudUsuario = filter_input ( INPUT_POST, 'idSolUsuario' );
			$idEstado = filter_input ( INPUT_POST, 'cbxEstado' );
			if ($idEstado == INT_ESTADO_INACTIVO) {
				$dataSolicitud ['estado_solicitud'] = INT_ESTADO_PARAM_INACTIVO;
				$dataSolicitud ['usuario_modificacion'] = $session_data ['id'];
				$dataSolicitud ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
				$dataSolicitud ['id_solicitud_usuario'] = $idSolicitudUsuario;
				$this->solusuario_model->updateSolicitud ( $dataSolicitud );
				
				// Verificar que existe usuario asociado a la solicitud
				$data ['idSolUsuario'] = filter_input ( INPUT_POST, 'idSolUsuario' );
				$objUsuario = $this->usuario_model->getUsuarioSol ( $data );
				if (count ( $objUsuario ) > 0) {
					$dataUsuario ['id_estado'] = INT_ESTADO_INACTIVO;
					$dataUsuario ['usuario_modificacion'] = $session_data ['id'];
					$dataUsuario ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
					$dataUsuario ['id_usuario'] = $objUsuario ['id_usuario'];
					$this->usuario_model->updateEstado ( $dataUsuario );
					
					$dataPersona ['id_estado'] = INT_ESTADO_INACTIVO;
					$dataPersona ['usuario_modificacion'] = $session_data ['id'];
					$dataPersona ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
					$dataPersona ['id_persona'] = $objUsuario ['id_persona'];
					$this->persona_model->updateEstado ( $dataPersona );
				}
			} else {
				$dataSol ['idSolUsuario'] = filter_input ( INPUT_POST, 'idSolUsuario' );
				$objUsuario = $this->usuario_model->getUsuarioSol ( $dataSol );
				if (count ( $objUsuario ) == 0) {
					$dataSolicitud ['estado_solicitud'] = INT_ESTADO_PARAM_ACTIVO;
					$dataSolicitud ['usuario_modificacion'] = $session_data ['id'];
					$dataSolicitud ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
					$dataSolicitud ['id_solicitud_usuario'] = filter_input ( INPUT_POST, 'idSolUsuario' );
					$this->solusuario_model->updateSolicitud ( $dataSolicitud );
					
					$objSolicitud = $this->solusuario_model->getDatosSolicitud ( $dataSolicitud );
					
					$dataPersona ['id_ubigeo'] = $objSolicitud [0]->id_ubigeo;
					$dataPersona ['direccion'] = $objSolicitud [0]->direccion;
					$dataPersona ['telefono'] = $objSolicitud [0]->telefono;
					$dataPersona ['correo'] = $objSolicitud [0]->correo;
					$dataPersona ['id_estado'] = INT_ESTADO_ACTIVO;
					$dataPersona ['usuario_registro'] = $session_data ['id'];
					$dataPersona ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
					
					// Registrar el proveedor en la tabla "persona".
					$this->proveedor_model->insertarProveedor ( $dataPersona );
					$idPersona = $this->persona_model->getLastInserted ();
					
					$dataPersonaJuridica ['idPersona'] = $idPersona;
					$dataPersonaJuridica ['ruc'] = $objSolicitud [0]->ruc;
					$dataPersonaJuridica ['razon'] = $objSolicitud [0]->razon_social;
					
					// Registrar los datos del proveedor en la tabla "persona_juridica".
					$this->persona_juridica_model->insert ( $dataPersonaJuridica );
					
					$dataUsuario ['idPersona'] = $idPersona;
					$dataUsuario ['usuario'] = $objSolicitud [0]->username;
					$dataUsuario ['password'] = $objSolicitud [0]->password;
					$dataUsuario ['usuario_registro'] = $session_data ['id'];
					$dataUsuario ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
					$dataUsuario ['idEstado'] = INT_ESTADO_ACTIVO;
					$dataUsuario ['idSolUsuario'] = $idSolicitudUsuario;
					
					// Registrar los datos del proveedor en la tabla "usuario".
					$this->usuario_model->insert_proveedor ( $dataUsuario );
					$idUsuario = $this->usuario_model->getLastInserted ();
					
					$dataUsuarioPerfil ['idUsuario'] = $idUsuario;
					$dataUsuarioPerfil ['idPerfil'] = INT_PROVEEDOR;
					$dataUsuarioPerfil ['usuario_registro'] = $session_data ['id'];
					$dataUsuarioPerfil ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
					
					// Registrar el perfil asociado al usuario.
					$this->usuario_perfil_model->insert ( $dataUsuarioPerfil );
					
					$dataProveedor ['idSolUsuario'] = $idSolicitudUsuario;
					$arrResponsable = $this->responsable_model->getPorProveedor ( $dataProveedor );
					foreach ( $arrResponsable as $responsable ) {
						$dataResponsable ['nombres'] = $responsable->nombres;
						$dataResponsable ['apellidos'] = $responsable->apellidos;
						$dataResponsable ['nacimiento'] = $responsable->fecha_nacimiento;
						$dataResponsable ['dirResponsable'] = $responsable->direccion;
						$dataResponsable ['correoResponsable'] = $responsable->correo;
						$dataResponsable ['telefono_responsable'] = $responsable->telefono;
						$dataResponsable ['usuario_registro_responsable'] = $responsable->usuario_registro;
						$dataResponsable ['fecha_registro_responsable'] = $responsable->fecha_registro;
						$dataResponsable ['idEstado'] = INT_ESTADO_ACTIVO;
						$dataResponsable ['idPerJuridica'] = $idPersona;
						$this->persona_model->insertResponsable ( $dataResponsable );
						$idPersona = $this->persona_model->getLastInserted ();
						
						// Registrar el responsable en la tabla "persona_natural".
						$dataPersonaNatural ['nombres'] = $responsable->nombres;
						$dataPersonaNatural ['apellidos'] = $responsable->apellidos;
						$dataPersonaNatural ['nacimiento'] = $responsable->fecha_nacimiento;
						$dataPersonaNatural ['idPersona'] = $idPersona;
						$this->persona_natural_model->insert_responsable ( $dataPersonaNatural );
					}
				} else {
					$dataSolicitud ['estado_solicitud'] = $idSolicitudUsuario;
					$dataSolicitud ['usuario_modificacion'] = $session_data ['id'];
					$dataSolicitud ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
					$dataSolicitud ['id_solicitud_usuario'] = filter_input ( INPUT_POST, 'idSolUsuario' );
					$this->solusuario_model->updateSolicitud ( $dataSolicitud );
					
					$dataUsuario ['id_estado'] = INT_ESTADO_ACTIVO;
					$dataUsuario ['usuario_modificacion'] = $session_data ['id'];
					$dataUsuario ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
					$dataUsuario ['id_usuario'] = $objUsuario ['id_usuario'];
					$this->usuario_model->updateEstado ( $dataUsuario );
					
					$dataPersona ['id_estado'] = INT_ESTADO_ACTIVO;
					$dataPersona ['usuario_modificacion'] = $session_data ['id'];
					$dataPersona ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
					$dataPersona ['id_persona'] = $objUsuario ['id_persona'];
					$this->persona_model->updateEstado ( $dataPersona );
				}
			}
			if ($this->db->trans_status () === FALSE) {
				$this->db->trans_rollback ();
			} else {
				$this->db->trans_commit ();
			}
			$this->solicitud ( $idSolicitudUsuario );
		}
	}
	
	/**
	 * Metodo que actualiza los datos de la solicitud de un proveedor.
	 *
	 * @author Fernando Esteban Valerio
	 */
	public function actSolicitud() {
		// Inicializar la transaccion
		$this->db->trans_begin ();
		
		$session_data = $this->session->userdata ( 'logged_in' );
		
		$data ['idSolUsuario'] = filter_input ( INPUT_POST, 'idSolUsuario' );
		$objUsuario = $this->usuario_model->getUsuarioSol ( $data );
		if (count ( $objUsuario ) == 0) {
			$dataUbigeo ['departamento'] = filter_input ( INPUT_POST, 'cbxDepartamento' );
			$dataUbigeo ['provincia'] = filter_input ( INPUT_POST, 'cbxProvincia' );
			$dataUbigeo ['distrito'] = filter_input ( INPUT_POST, 'cbxDistrito' );
			$objUbigeo = $this->ubigeo_model->getUbigeo ( $dataUbigeo );
			
			$dataSolicitud ['id_solicitud_usuario'] = filter_input ( INPUT_POST, 'idSolUsuario' );
			$objSolicitud = $this->solusuario_model->getDatosSolicitud ( $dataSolicitud );
			
			$password = filter_input ( INPUT_POST, 'txtPassword' );
			if ($objSolicitud [0]->password == $password) {
				$data ['password'] = '';
			} else {
				$data ['password'] = $password;
			}
			
			// Datos del proveedor
			$data ['usuario'] = filter_input ( INPUT_POST, 'txtUsuario' );
			$data ['ruc'] = filter_input ( INPUT_POST, 'txtRuc' );
			$data ['razon'] = filter_input ( INPUT_POST, 'txtRazon' );
			$data ['telefono'] = filter_input ( INPUT_POST, 'txtTelefono' );
			$data ['direccion'] = filter_input ( INPUT_POST, 'txtDireccion' );
			$data ['correo'] = filter_input ( INPUT_POST, 'txtCorreo' );
			$data ['ubigeo'] = $objUbigeo ['id_ubigeo'];
			$data ['usuario_modificacion'] = $session_data ['id'];
			$data ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
			$data ['id_solicitud_usuario'] = filter_input ( INPUT_POST, 'idSolUsuario' );
			
			$this->solusuario_model->actualizarProveedor ( $data );
		} else {
			// Datos del proveedor
			$dataUsuario ['usuario'] = filter_input ( INPUT_POST, 'txtUsuario' );
			$password = filter_input ( INPUT_POST, 'txtPassword' );
			if ($objUsuario ['password'] == $password) {
				$dataUsuario ['password'] = '';
			} else {
				$dataUsuario ['password'] = $password;
			}
			$dataUsuario ['usuario_modificacion'] = $session_data ['id'];
			$dataUsuario ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
			$dataUsuario ['ip'] = '';
			$dataUsuario ['id_usuario'] = $objUsuario ['id_usuario'];
			$this->usuario_model->updateUsuarioCliente ( $dataUsuario );
			
			$dataUbigeo ['departamento'] = filter_input ( INPUT_POST, 'cbxDepartamento' );
			$dataUbigeo ['provincia'] = filter_input ( INPUT_POST, 'cbxProvincia' );
			$dataUbigeo ['distrito'] = filter_input ( INPUT_POST, 'cbxDistrito' );
			$objUbigeo = $this->ubigeo_model->getUbigeo ( $dataUbigeo );
			
			$dataPersona ['ubigeo'] = $objUbigeo ['id_ubigeo'];
			$dataPersona ['telefono'] = filter_input ( INPUT_POST, 'txtTelefono' );
			$dataPersona ['direccion'] = filter_input ( INPUT_POST, 'txtDireccion' );
			$dataPersona ['correo'] = filter_input ( INPUT_POST, 'txtCorreo' );
			$dataPersona ['usuario_modificacion'] = $session_data ['id'];
			$dataPersona ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
			$dataPersona ['id_persona'] = $objUsuario ['id_persona'];
			
			$this->persona_model->updatePersona ( $dataPersona );
			
			$dataPersonaJuridica ['ruc'] = filter_input ( INPUT_POST, 'txtRuc' );
			$dataPersonaJuridica ['razon'] = filter_input ( INPUT_POST, 'txtRazon' );
			$dataPersonaJuridica ['id_persona'] = $objUsuario ['id_persona'];
			$this->persona_juridica_model->updatePersonaJuridica ( $dataPersonaJuridica );
		}
		if ($this->db->trans_status () === FALSE) {
			$this->db->trans_rollback ();
		} else {
			$this->db->trans_commit ();
		}
		$this->solicitud ( filter_input ( INPUT_POST, 'idSolUsuario' ) );
	}
	
	/**
	 * Metodo que registrar los datos del proveedor.
	 *
	 * @author Fernando Esteban Valerio
	 */
	public function insertar() {
		$this->form_validation->set_rules ( 'txtRuc', 'Numero de RUC', 'trim|is_unique[solicitud_usuario.ruc]', 'trim|is_unique[persona_juridica.ruc]' );
		$this->form_validation->set_rules ( 'txtUsuario', 'Nombre del usuario', 'trim|is_unique[solicitud_usuario.username]', 'trim|is_unique[usuario.username]' );
		$this->form_validation->set_rules ( 'txtCorreo', 'Correo electronico', 'trim|is_unique[solicitud_usuario.correo]', 'trim|is_unique[persona.correo]' );
		$this->form_validation->set_message ( 'is_unique', 'EL usuario ya se encuentra registrado' );
		
		if ($this->form_validation->run () == FALSE) {
			$data ['page_title'] = "Registrar Proveedor";
			$data ['mensaje'] = "Ingresa un Proveedor Nuevo";
			$departamento = $this->departamento_model->getDepartamento ();
			$data ['departamento'] = $departamento;
			$data ['mensaje'] = validation_errors ( '<div class="login_error">', '</div>' );
			$data ['class'] = "alert_error";
			$data ['estado_solicitud'] = '';
			$data ['id_estado_usuario'] = '';
			
			$session_data = $this->session->userdata ( 'logged_in' );
			if ($session_data ['tipo_usuario'] == INT_ADMINISTRADOR) {
				$this->load->view ( 'proveedor_view/proveedor_new', $data );
			} else {
				$this->load->view ( 'proveedor_view/proveedor_registro', $data );
			}
		} else {
			// Insertando en solicitud_usuario con estado_solicitud = 0 rechazado por el momento
			
			// Obtener el id de ubigeo
			$data ['departamento'] = filter_input ( INPUT_POST, 'cbxDepartamento' );
			$data ['provincia'] = filter_input ( INPUT_POST, 'cbxProvincia' );
			$data ['distrito'] = filter_input ( INPUT_POST, 'cbxDistrito' );
			
			$ubigeo = $this->ubigeo_model->getUbigeo ( $data );
			$data ['ubigeo'] = $ubigeo ['id_ubigeo'];
			
			// Datos del proveedor
			$data ['usuario'] = filter_input ( INPUT_POST, 'txtUsuario' );
			$data ['password'] = filter_input ( INPUT_POST, 'txtPassword' );
			$data ['ruc'] = filter_input ( INPUT_POST, 'txtRuc' );
			$data ['razon'] = filter_input ( INPUT_POST, 'txtRazon' );
			$data ['telefono'] = filter_input ( INPUT_POST, 'txtTelefono' );
			$data ['direccion'] = filter_input ( INPUT_POST, 'txtDireccion' );
			$data ['correo'] = filter_input ( INPUT_POST, 'txtCorreo' );
			$data ['estado_solicitud'] = 0;
			
			// Obtener id del usuario logeado
			$session_data = $this->session->userdata ( 'logged_in' );
			$id = $session_data ['id'];
			
			// Datos para el usuario y proveedor
			if ($session_data ['tipo_usuario'] == INT_ADMINISTRADOR) {
				$data ['usuario_registro'] = $id;
			} else {
				$data ['usuario_registro'] = 0;
			}
			$data ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
			
			// Insertar en solicitud usuario
			$this->solusuario_model->insert_proveedor ( $data );
			echo "<script language='javascript'>alert('PODRA LOGUEARSE UNA VEZ SEA APROBADO, SOLICITUD ENVIADA')</script>";
			$data ['page_title'] = "MARCAS A ASIGNAR";
			$data ['mensaje'] = "Puede asignar marcas al proveedor";
			$proveedor = $this->solusuario_model->getUsername ( $data );
			$data ['idSolUsuario'] = $proveedor ['id_solicitud_usuario'];
			$this->load->view ( 'proveedor_view/marcas_asignar_registro', $data );			
		}
	}
	
	/**
	 * Metodo que permite registrar a un nuevo proveedor desde afuera
	 * @author Leidy Uribe Marcos
	 */
	function registrate() {
		$data ['page_title'] = "Registrar Proveedor";
		$data ['mensaje'] = "Ingresa un Proveedor nuevo";
		$departamento = $this->departamento_model->getDepartamento ();
		$provincia = $this->provincia_model->getProvincia ();
		$distrito = $this->distrito_model->getDistrito ();
		$data ['departamento'] = $departamento;
		$data ['provincia'] = $provincia;
		$data ['distrito'] = $distrito;
		$marca = $this->marca_model->getListMarca ();
		$data ['marca'] = $marca;
		$this->load->view ( 'proveedor_view/proveedor_registro', $data );
	}
	
	/**
	 * Metodo que registrar los datos del proveedor.
	 *
	 * @author Fernando Esteban Valerio
	 * @param int $idSolicitudUsuario
	 *        	Id Solicitud de usuario
	 */
	public function registrarResponsable($idSolicitudUsuario) {
		$data ['page_title'] = "Responsable";
		$data ['idSolUsuario'] = $idSolicitudUsuario;
		$responsable = $this->responsable_model->getPorProveedor ( $data );
		$data ['responsable'] = $responsable;
		
		$session_data = $this->session->userdata ( 'logged_in' );
		if ($session_data ['tipo_usuario'] == INT_ADMINISTRADOR) {
			$this->load->view ( 'responsable_view/responsable_view', $data );
		} else {
			$this->load->view ( 'responsable_view/responsable_registro', $data );
		}
	}
	public function actualizar() {
		$idUsuario = filter_input ( INPUT_POST, 'idUsuario' );
		$idSolicitudUsuario = filter_input ( INPUT_POST, 'idSolUsuario' );
		
		$dataUbigeo ['departamento'] = filter_input ( INPUT_POST, 'cbxDepartamento' );
		$dataUbigeo ['provincia'] = filter_input ( INPUT_POST, 'cbxProvincia' );
		$dataUbigeo ['distrito'] = filter_input ( INPUT_POST, 'cbxDistrito' );
		
		$ubigeo = $this->ubigeo_model->getUbigeo ( $dataUbigeo );
		$data ['ubigeo'] = $ubigeo ['id_ubigeo'];
		
		// Inicializar la transaccion
		$this->db->trans_begin ();
		
		if ($idUsuario != '') {
			$dataUsuario ['id_usuario'] = $idUsuario;
			$objUsuario = $this->usuario_model->getUsuario ( $dataUsuario );
			
			// Actualizar los datos del usuario
			$session_data = $this->session->userdata ( 'logged_in' );
			$dataUsuario ['usuario'] = filter_input ( INPUT_POST, 'txtUsuario' );
			$dataUsuario ['password'] = filter_input ( INPUT_POST, 'txtPassword' );
			$dataUsuario ['usuario_modificacion'] = $session_data ['id'];
			$dataUsuario ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
			$dataUsuario ['ip'] = '';
			$this->usuario_model->updateUsuarioCliente ( $dataUsuario );
			
			// Actualizar los datos de la persona
			$dataPersona ['ubigeo'] = $ubigeo ['id_ubigeo'];
			$dataPersona ['direccion'] = filter_input ( INPUT_POST, 'txtDireccion' );
			$dataPersona ['correo'] = filter_input ( INPUT_POST, 'txtCorreo' );
			$dataPersona ['telefono'] = filter_input ( INPUT_POST, 'txtTelefono' );
			$dataPersona ['usuario_modificacion'] = $session_data ['id'];
			$dataPersona ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
			$dataPersona ['id_persona'] = $objUsuario ['id_persona'];
			$this->persona_model->updatePersona ( $dataPersona );
			
			// Actualizar los datos de la persona juridica
			$dataPersonaJuridica ['ruc'] = filter_input ( INPUT_POST, 'txtRuc' );
			$dataPersonaJuridica ['razon'] = filter_input ( INPUT_POST, 'txtRazon' );
			$dataPersonaJuridica ['id_persona'] = $objUsuario ['id_persona'];
			$this->persona_juridica_model->updatePersonaJuridica ( $dataPersonaJuridica );
		} else {
		}
		
		if ($this->db->trans_status () === FALSE) {
			$this->db->trans_rollback ();
		} else {
			$this->db->trans_commit ();
		}
		
		$this->index2 ( 1, $idSolicitudUsuario );
	}
	
	/**
	 */
	public function editarCuenta() {
		if (isset ( $_POST ['aceptar'] )) {
			$session_data = $this->session->userdata ( 'logged_in' );
			$idSolicitudUsuario = filter_input ( INPUT_POST, 'idSolUsuario' );
			$idUsuario = filter_input ( INPUT_POST, 'idUsuario' );
			if ($idUsuario != '') {
				$dataUsuario ['id_usuario'] = $idUsuario;
				$objUsuario = $this->usuario_model->getUsuario ( $dataUsuario );
				
				// Inicializar la transaccion
				$this->db->trans_begin ();
				
				// Actualizar el estado del usuario.
				$dataUsuario ['id_estado'] = filter_input ( INPUT_POST, 'cbxEstado' );
				$dataUsuario ['usuario_modificacion'] = $session_data ['id'];
				$dataUsuario ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
				$this->usuario_model->updateEstado ( $dataUsuario );
				
				// Actualizar el estado de la persona.
				$dataPersona ['id_persona'] = $objUsuario ['id_persona'];
				$dataPersona ['id_estado'] = filter_input ( INPUT_POST, 'cbxEstado' );
				$dataPersona ['usuario_modificacion'] = $session_data ['id'];
				$dataPersona ['fecha_modificacion'] = date ( 'Y-m-d H:i:s' );
				$this->persona_model->updateEstado ( $dataPersona );
				
				if ($this->db->trans_status () === FALSE) {
					$this->db->trans_rollback ();
				} else {
					$this->db->trans_commit ();
				}
				
				$this->index2 ( 1, $idSolicitudUsuario );
			} else {
				$dataSolicitudUsuario ['id_solicitud_usuario'] = $idSolicitudUsuario;
				$objSolicitudUsuario = $this->solusuario_model->getDatosSolicitud ( $dataSolicitudUsuario );
				
				// Inicializar la transaccion
				$this->db->trans_begin ();
				
				// Actualizar la solicitud para el proveedor.
				$dataSolUsuario ['idSolUsuario'] = $objSolicitudUsuario [0]->id_solicitud_usuario;
				$dataSolUsuario ['estado_solicitud'] = INT_ESTADO_PARAM_ACTIVO;
				$this->solusuario_model->updateSolUsuario ( $dataSolUsuario );
				
				$data ['id_ubigeo'] = $objSolicitudUsuario [0]->id_ubigeo;
				$data ['direccion'] = $objSolicitudUsuario [0]->direccion;
				$data ['telefono'] = $objSolicitudUsuario [0]->telefono;
				$data ['correo'] = $objSolicitudUsuario [0]->correo;
				$data ['id_estado'] = INT_ESTADO_ACTIVO;
				
				$data ['usuario_registro'] = $session_data ['id'];
				$data ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
				
				// Registrar el proveedor en la tabla "persona".
				$this->proveedor_model->insert_proveedor ( $data );
				$idPersona = $this->persona_model->getLastInserted ();
				
				$dataPersonaJuridica ['idPersona'] = $idPersona;
				$dataPersonaJuridica ['ruc'] = $objSolicitudUsuario [0]->ruc;
				$dataPersonaJuridica ['razon'] = $objSolicitudUsuario [0]->razon_social;
				
				// Registrar los datos del proveedor en la tabla "persona_juridica".
				$this->persona_juridica_model->insert ( $dataPersonaJuridica );
				
				$dataUsuario ['idPersona'] = $idPersona;
				$dataUsuario ['usuario'] = $objSolicitudUsuario [0]->username;
				$dataUsuario ['password'] = $objSolicitudUsuario [0]->password;
				$dataUsuario ['usuario_registro'] = $session_data ['id'];
				$dataUsuario ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
				$dataUsuario ['idEstado'] = INT_ESTADO_ACTIVO;
				$dataUsuario ['idSolUsuario'] = $idSolicitudUsuario;
				
				// Registrar los datos del proveedor en la tabla "usuario".
				$this->usuario_model->insert_proveedor ( $dataUsuario );
				$idUsuario = $this->usuario_model->getLastInserted ();
				
				$dataUsuarioPerfil ['idUsuario'] = $idUsuario;
				$dataUsuarioPerfil ['idPerfil'] = INT_PROVEEDOR;
				$dataUsuarioPerfil ['usuario_registro'] = $session_data ['id'];
				$dataUsuarioPerfil ['fecha_registro'] = date ( 'Y-m-d H:i:s' );
				
				// Registrar el perfil asociado al usuario.
				$this->usuario_perfil_model->insert ( $dataUsuarioPerfil );
				
				$dataProveedor ['idSolUsuario'] = $idSolicitudUsuario;
				$arrResponsable = $this->responsable_model->getPorProveedor ( $dataProveedor );
				foreach ( $arrResponsable as $responsable ) {
					$dataResponsable ['nombres'] = $responsable->nombres;
					$dataResponsable ['apellidos'] = $responsable->apellidos;
					$dataResponsable ['nacimiento'] = $responsable->fecha_nacimiento;
					$dataResponsable ['dirResponsable'] = $responsable->direccion;
					$dataResponsable ['correoResponsable'] = $responsable->correo;
					$dataResponsable ['telefono_responsable'] = $responsable->telefono;
					$dataResponsable ['usuario_registro_responsable'] = $responsable->usuario_registro;
					$dataResponsable ['fecha_registro_responsable'] = $responsable->fecha_registro;
					$dataResponsable ['idEstado'] = INT_ESTADO_ACTIVO;
					$dataResponsable ['idPerJuridica'] = $idPersona;
					$this->persona_model->insertResponsable ( $dataResponsable );
					$idPersona = $this->persona_model->getLastInserted ();
					
					// Registrar el responsable en la tabla "persona_natural".
					$dataPersonaNatural ['nombres'] = $responsable->nombres;
					$dataPersonaNatural ['apellidos'] = $responsable->apellidos;
					$dataPersonaNatural ['nacimiento'] = $responsable->fecha_nacimiento;
					$dataPersonaNatural ['idPersona'] = $idPersona;
					$this->persona_natural_model->insert_responsable ( $dataPersonaNatural );
				}
				if ($this->db->trans_status () === FALSE) {
					$this->db->trans_rollback ();
				} else {
					$this->db->trans_commit ();
				}
				$this->index2 ( 4, $idSolicitudUsuario );
			}
		} else if (isset ( $_POST ['omitir'] )) {
			$data ['id_usuario'] = $_POST ['txtId'];
			$this->proveedor_model->updateSolicitudUsuario ( $data );
			$this->usuario_model->updateUsuario ( $data );
			$this->index2 ( 1 );
		} else if (isset ( $_POST ['asignar'] )) {
			$data ['page_title'] = "Asignar Perfil";
			$data ['id_usuario'] = $_POST ['txtId'];
			$usuario = $this->usuario_model->getUsername ( $data );
			$data ['id'] = $usuario ['username'];
			$data ['activa_proveedor'] = "";
			$this->load->view ( 'perfil_view/perfil_asignar', $data );
		} else if (isset ( $_POST ['tarifa'] )) {
			$data ['id_usuario'] = $_POST ['txtId'];
			$data ['estado'] = $_POST ['cbxEstado'];
			$this->proveedor_model->updateCuenta ( $data );
			$data ['page_title'] = "Asignar Tarifa";
			$data ['id'] = $_POST ['txtId'];
			$this->load->view ( 'tarifa/tarifa_view', $data );
		}
	}
	function cargarDocumentoProveedor() {
		if ($_GET ['cbxDocumento'] == '') {
			$this->load->view ( 'cliente_view/doc' );
		} else if ($_GET ['cbxDocumento'] == '31') {
			$this->load->view ( 'cliente_view/doc_dni' );
		} else {
			$this->load->view ( 'cliente_view/doc_ext' );
		}
	}
	function cargarProvincia() {
		$data ['id'] = $_GET ['cbxDepartamento'];
		$provincia = $this->provincia_model->getPorDepartamento ( $data );
		$data ['provincia'] = $provincia;
		$this->load->view ( 'combos_view/cargar_provincia', $data );
	}
	function cargarDistrito() {
		/*
		 * 02/06/2015
		 * se cambio el metodo de llamar a los id de provincia y departamento por medio de get
		 * se pasa ambas variables a la funcion getPorProvincia($data, $data1)
		 */
		$data ['id'] = $_GET ['prov'];
		$data1 ['cod'] = $_GET ['dept'];
		$distrito = $this->distrito_model->getPorProvincia ( $data, $data1 );
		$data ['distrito'] = $distrito;
		$this->load->view ( 'combos_view/cargar_distrito', $data );
	}
	function buscaAsignar() {
		$data ['usuario'] = $_GET ['usuario'];
		$data ['nombre'] = $this->usuario_model->getPorUsername ( $data );
		$this->load->view ( 'lista_perfil/nombre_usuario', $data );
	}
	function sinperfil() {
		$data['usuario'] = $_GET['usuario'];
		$data['nombre'] =  $this->usuario_model->getPorUsername($data);
		$data['sin'] =  $this->perfil_model->getsinperfil($data);
		$this->load->view('lista_perfil/sin_perfil',$data);
	}
	function conperfil() {
		$data ['usuario'] = $_GET ['usuario'];
		$data ['con'] = $this->perfil_model->getconperfil ( $data );
		$this->load->view ( 'lista_perfil/con_perfil', $data );
	}
	function calculaSoles() {
		$data ['tarifa'] = $_GET ['tarifa'];
		$data ['moneda'] = $_GET ['moneda'];
		$data ['dolar'] = $_GET ['dolar'];
		$data ['tipo'] = $_GET ['tipo'];
		
		if (! $data ['moneda']) {
			$data ['moneda'] = 'SOLES';
		}
		
		switch ($data ['tipo']) {
			case '' :
				$data ['soles'] = '';
				break;
			
			case 'FIJA' :
				switch ($data ['moneda']) {
					case 'SOLES' :
						$data ['soles'] = $_GET ['tarifa'];
						break;
					
					case 'DOLARES' :
						$data ['soles'] = $_GET ['tarifa'] * $data ['dolar'];
						break;
				}
				break;
			
			case 'PORCENTUAL' :
				$data ['soles'] = " - - - - - - - - - - - - ";
				break;
		}
		
		$this->load->view ( 'tarifa/tarifa_soles', $data );
	}
	function verificaMoneda() {
		$data ['moneda'] = $_GET ['moneda'];
		$data ['tipo'] = $_GET ['tipo'];
		
		if (! $data ['moneda']) {
			$data ['moneda'] = 'SOLES';
		}
		
		switch ($data ['tipo']) {
			case '' :
				$this->load->view ( 'tarifa/tarifa_moneda', $data );
				break;
			
			case 'FIJA' :
				$this->load->view ( 'tarifa/tarifa_moneda', $data );
				break;
			
			case 'PORCENTUAL' :
				$this->load->view ( 'tarifa/tarifa_moneda', $data );
				break;
		}
	}
	
	/**
	 * Metodo que muestra las diferentes marcas para que el proveedor pueda escoger
	 * @author Leidy Uribe Marcos
	 */
	function sinmarcas() {
		$data ['proveedor'] = $_GET ['proveedor'];
		$data ['nombre'] = $this->solusuario_model->verificar ( $data ['proveedor'] );
		if ($data ['nombre']) {
			foreach ( $data ['nombre'] as $np ) {
				$data ['id_persona'] = $np->id_solicitud_usuario;
			}
		} else {
			$data ['id_persona'] = $_GET ['id_proveedor'];
		}
		
		$data ['marcas'] = $this->marca_model->getListMarca ();
		$data ['sin_marcas'] = $this->marca_model->getsinmarcas ( $data );
		$this->load->view ( 'proveedor_view/sin_marca', $data );
	}
	
	/**
	 * Metodo que permite ver si un proveedor ya tiene marcas asignadas ni bien se abre el formulario
	 * @author Leidy Uribe Marcos
	 */
	function conmarcas() {
		$data ['proveedor'] = $_GET ['proveedor'];
		$data ['nombre'] = $this->solusuario_model->verificar ( $data ['proveedor'] );
		if ($data ['nombre']) {
			foreach ( $data ['nombre'] as $np ) {
				$data ['id_persona'] = $np->id_solicitud_usuario;
			}
		} else {
			$data ['id_persona'] = $_GET ['id_proveedor'];
		}
		$data ['con_marcas'] = $this->marca_model->getconmarcas ( $data );
		$this->load->view ( 'proveedor_view/con_marca', $data );
	}
	
	/**
	 * metodo que permite guardar las marcas seleccionadas por el proveedor
	 * @author Leidy Uribe Marcos
	 */
	function actualizaMarcas() {
		// OBTENIENDO EL ID DE PERSONA
		$data ['usuario'] = $_POST ['txtUsuario'];
		//jalara los datos de solicitud usuario
		$registro_afuera = $this->solusuario_model->getUsername($data);		
		$data['id_persona'] = $registro_afuera['id_solicitud_usuario'];
		$data ['marca_destino'] = $_POST ['marca_destino'];
				
		$this->proveedor_marca_model->updateMarcaInactivo ( $data );
		
		// Registrando nueva marca de proveedor
		
		foreach ( $data ['marca_destino'] as $md ) {
			$check = $this->proveedor_marca_model->checkMarca ( $data, $md );
			$verificar = $this->marca_model->getMarca($md);
			if ($verificar){
				if (! isset ( $check [0]->id_marca )) {
					$this->proveedor_marca_model->insertMarcaActivo ( $data, $md );
				} else {
					$this->proveedor_marca_model->updateMarcaActivo ( $data, $md );
				}
			}
		}
		
		if (isset($_POST['codigo'])){
			$Usuario = $this->solusuario_model->getId ();
			$idSolicitudUsuario = $Usuario['id_solicitud_usuario'];
			echo "<script language='javascript'>alert('MARCAS ASIGNADAS CORRECTAMENTE')</script>";
			$this->registrarResponsable ( $idSolicitudUsuario );
		}else {
			// Nos dirigimos al controlador usuario
			redirect ( 'usuario', 'refresh' );
		}
	}
	
	/**
	 * Método que nos dirige a la vista: reporte del proveedor
	 * @author Andrés Guizado Díaz
	 */
	
	function reporte(){
		$data['page_title'] = "Reporte de Proveedor";
		$proveedor = $this->proveedor_model->getReporteProveedor();
		$data['proveedor'] = $proveedor;
		$this->load->view('proveedor_view/proveedor_reporte', $data);
	}
}

?>